package cn.lg.soar.system.biz.modules.general.service;

import cn.lg.soar.database.base.service.IBaseService;
import cn.lg.soar.system.biz.modules.general.entity.SysConfig;

import java.util.Collection;
import java.util.Map;

/**
 * 系统配置
 * @author luguoxiang
 * @since 2023-07-13
 * 开源项目：https://gitee.com/lgx1992/lg-soar 求star！请给我star！请帮我点个star！
 */
public interface ISysConfigService extends IBaseService<SysConfig> {

    /**
     * 获取系统配置
     * @param code
     * @return
     */
    String get(String code);

    /**
     * 设置系统配置
     * @param code
     * @param value
     * @return
     */
    boolean set(String code, String value);

    /**
     * 获取多个配置
     * @param codes
     * @return
     */
    Map<String, String> map(String[] codes);

    /**
     * 获取其他配置详情
     * @param id
     * @return
     */
    SysConfig getOtherById(String id);

    /**
     * 删除其他配置
     * @param id
     */
    boolean removeOtherById(String id);

    /**
     * 删除其他配置
     * @param ids
     * @return
     */
    void removeOtherByIds(Collection<String> ids);

}
